package com.date.demo02;

import java.time.DateTimeException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

public class Review {
    public static void main(String[] args) {
        System.out.println("复习 JDK8以后的时间处理类");
        /**
         * JDK8 以后 使用了 三个类 都是返回自己对象
         * LocalDateTime
         * LocalDate
         * LocalTime
         */

        // 获取当前时间 年 - 月 - 日 时-分-秒.毫秒
        LocalDateTime date_time = LocalDateTime.now();
        System.out.println(date_time);
        // 获取当前日期
        LocalDate dates = LocalDate.now();
        System.out.println(dates);
        // 获取当前时间点  时-分-秒.毫秒
        LocalTime times = LocalTime.now();
        System.out.println(times);
        System.out.println("====写法更改====");
        // 保证时间一致性 上面的写法改为：
        LocalDateTime date_time2 = LocalDateTime.now();
        System.out.println(date_time2);
        LocalDate dates2 = date_time2.toLocalDate();
        System.out.println(dates2);
        LocalTime times2 = date_time2.toLocalTime();
        System.out.println(times2);


        /**
         * 时间格式化操作 DateTimeFormatter
         * DateTimeFormatter.ofPattern(时间格式)  定义时间格式
         * 年：yyyy
         * 月：MM
         * 日：dd
         * 小时：HH
         * 分钟：mm
         * 秒：ss
         * 毫秒：SSS
         */
        System.out.println("=== 时间转换 ===");
        // 1.日期 --> 字符串 format
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
        String date_str = dtf.format(date_time2);
        System.out.println(date_str);
        // 2.字符串 --> 日期 parse
        System.out.println("===== 字符串转日期 =====");
        String change_date = "2012/12/15 15:16:17";
        LocalDateTime turn_dates = LocalDateTime.parse(change_date,dtf); // 2012-12-15T15:16:17
        System.out.println(turn_dates);
    }
}
